package com.choosefine.base.shixiaobao.common.def;

import com.choosefine.base.shixiaobao.common.utils.MD5;

/**
 * 模块共性的常量
 * @auth liaozhanggen 2016-11-19 下午6:44:42
 *
 */
public interface CommonConstant {

	/**** start 工人模块常量区 add code by liaozhanggen 2016-11-19 ***/
	String USER_CODE = "userCode";	//用户编号标识
	String PROJECT_CODE = "projectCode";	//项目编号标识
	String TEAM_ID = "teamId";	//班组主键标识
	String ORDER_ASC = "asc";	//升序
	String ORDER_DESC = "desc";	//降序
	String PAGE_NUM = "pageNum";	//当前第几页
	String PAGE_SIZE = "pageSize";	//每页的条数
	String SEARCH = "search";	//查询条件变量
	String REAL_NAME = "realName";	//员工真实姓名
	String OPERATOR_NUM = "operatorNum";//操作员编号QH000001
	String EXCEL_PRE_XLSX = ".xlsx";
	String EXCEL_TITLE = "QUHENG";
	String UUID = "uuid"; //uuid字段标识
	String COMPANY_TYPE_AFFILIATED="affiliated";//公司类型5分包单位
	String COMPANY_TYPE_COMPANY="company";//公司类型4建筑公司
	
	String START_TIME = "startTime";	//查询条件变量开始时间戳
	String END_TIME = "endTime";	//查询条件变量结束时间戳
	String RELATION_ID = "relationId";	//查询条件变量关系ID，比如班组同工人的关系id
	int ROLE_TYPE_1 = 1;	//查询条件变量，角色类型 1.当前班组(班组承包人的收到分包款),2.当前分包单位(分包单位看到的该字段是建筑公司打的分包款；)
	int ROLE_TYPE_2 = 2;	//查询条件变量，角色类型 1.当前班组(班组承包人的收到分包款),2.当前分包单位(分包单位看到的该字段是建筑公司打的分包款；)
	
	
	String VERIFY_STATUS = "verifyStatus";	//工人发布状态标识
	String FILE_DIRECTORY_IMPORT_PATH = "quheng/file/excel/import/";	//excel文件上传或下载的路径
	String FILE_DIRECTORY_EXPORT_PATH = "quheng/file/excel/export/";	//excel文件上传或下载的路径
	String FILE_DIRECTORY_ERROR_PATH = "quheng/file/excel/error/";	//excel文件上传或下载的路径

	int IMPORT_FINISH_CODE = 1; //excel 进程状态(0：进行中，1：完成，2失败)
	int IMPORT_FAIL_CODE = 2; //excel 进程状态(0：进行中，1：完成，2失败)
	int IMPORT_CODE = 1; //excel 导出类型 1导入，2导出
	int EXPORT_CODE = 2; //excel 导出类型 1导入，2导出
	
//	String FILE_DIRECTORY_ORIGINAL_PATH = "file/excel/original/";	//excel文件上传或下载的路径
	
	String EXCEPTION_CAUSE = "异常原因";
	
	String LIST_KEY = "list";	//返回Json中的list集合
	String DATA_KEY = "data";	//返回JSON中的data对象
	String DATE_FOMART = "yyyy年MM月";
	String DATE_FOR="yyyy-MM";
	String PAGE_COUNT = "pageCount";	//返回给APP中的页码总数
	String TOTAL = "total";	//返回给APP中的总条数
	String ARRAY = "array";	//返回给APP中的集合列表
	/**** end ***/

	/******start 非平台物料管理  add code xiongdong 2017-03-02******************/
	public final int NOPLATFORM_TYPE_MATERIAL = 1; //type=1为材料
	public final int NOPLATFROM_TYPE_FACILITY = 2;//type=2为设施
	public final int NOPLATFORM_TYPE_EQUIPMENT = 3;//type=3为设备
	public final int     RECEIPT_PROJECT_USER            = 3; //使用者类型 2 分包班组承包人 3 项目经理
	public final int     RECEIPT_TEAM_USER               = 2; //使用者类型 2 分包班组承包人 3 项目经理
//	public final String MSG_DATA_INPUT_ERROR = "输入数据格式不正确";
	public final String   OPERATE_TYPE_BACKGROUND                   ="203";//201订单付款，202公司打款，203后台操作
	public final String   HONK_KONG_CODE                 = "810000";//香港特别行政区
	public final String   TAI_WAN_CODE                   = "710000";//台湾省
	public final String   AO_MEN_CODE                    = "820000";//澳门特别行政区
	/******end code xiongdong 2017-03-02*************************************/

	/******start 收藏 add code yuin 2017-03-10******************/
	public final int WORKER_COLLECT_TEAM = 1; //1：工人收藏班组发布找工人
	public final int TEAM_COLLECT_WORKER = 2;//2：班组收藏工人发布
	public final int TEAM_COLLECT_MANAGER = 3;//3：班组收藏项目经理发布的找班组
	public final int MANAGER_COLLECT_TEAM = 4; //4：项目经理收藏班组找项目
	public final int MANAGER_COLLECT_COMPANY = 5;//5：项目经理收藏建筑公司发布的找项目承包人
	public final int COMPANY_COLLECT_MANAGER = 6;//6：建筑公司收藏项目经理发布找项目
	/******end code yuxin 2017-03-10*************************************/
	public final int COMPANY_USESTATUS_0 = 0;//启用状态（0启用1停用）
	public final int COMPANY_USESTATUS_1 = 1;//启用状态（0启用1停用）
	public final int SHOP_USE_STATUS_1 = 1;//启用状态（1启用2停用）
	public final int SHOP_USE_STATUS_2 = 2;//启用状态（1启用2停用）
	public final int COMPANY_TYPE_4 = 4;//4.建筑公司
	public final int COMPANY_TYPE_5 = 5;//5.分包班组单位
	public final int COMPANY_TYPE_6 = 6;//6.材料供应商
	public final int COMPANY_TYPE_7 = 7;//7.设备供应商
	public final int COMPANY_TYPE_8 = 8;//8.设施供应商
	public final String COMPANY_ADD_PREFIX = "CP";//新增公司时的前缀为CP

	public final String CHASET_GBK = "gbk";
	/**
	 * 有效
	 */
	public final int VALID = 0;	
	/**
	 * 失效
	 */
	public final int INVALID = 1;
	public final int GENERAL_BUSINESS_LICENSE = 1;/*公司租户管理使用，1为普通营业执照*/
	public final int MULTIPLE_LICENSES = 2;/*公司租户管理使用，2为多证合一执照*/

	public final int DEFAULT_PAGE_NUM = 1;	//默认分页为1
	public final int DEFAULT_PAGE_SIZE = 10;	//默认每页展示条数为10条
	public final boolean redisEnabled = false;//是否开启Redis缓存
	
	/** 主用户类型 **/
	public final Integer USER_TYPE_MAIN = 1;

	/**
	 * 已收藏
	 */
	public final int ISCOLLECION=1;
	/**
	 * 未收藏
	 */
	public final int ISNOTCOLLECION=0;

	/**
	 * 收藏的标识
	 */
	public final Integer COLLECT=0;
	public final Integer NOTCOLLECT=1;
	
	/**
	 * 是否插入标识
	 */
	public final Integer ISINSERT=2;

	/**
	 * 上热门
	 */
	public final Integer ISHOT=1;
	
	/**
	 * 不需要上热门 
	 */
	public final Integer ISNOTHOT=0;

	int VERIFY_STATUS_0 = 0; //待审核
	int VERIFY_STATUS_1 = 1; //审核通过
	int VERIFY_STATUS_2 = 2; //审核不通过
	
	int FLAG_ZERO = 0;	//参数值默认值
	
	/** 默认初始密码 **/
	public final String DEFAULT_PASSWORD = MD5.stringMD5("123456");//TODO MD5Encoder.encode("123456".getBytes()
	
	/**
	 * 图片后缀：尺寸300*300
	 */
//	public final String IMAGE_LARGE_POSTFIX="?x-oss-process=image/resize,m_fixed,h_300,w_300";

	//发布状态 0开始招聘
	Integer PUBLISH_STATUS_0 = 0;

	//发布状态 1停止招聘
	Integer PUBLISH_STATUS_1 = 1;
	
	//Integer型参数为空设置为0
	Integer IS_NULL_TO_ZEARO = 0;
	
	/**
	 * 工人角色
	 */
	public final int WORKER_ROLE = 1;
	
	/**
	 * 班组承包人角色
	 */
	public final int TEAM_CONTRACTOR_ROLE = 2;
	/**
	 * 建筑公司角色
	 */
	public final int COMPANY_ROLE = 4;
	/**
	 * 项目经理角色
	 */
	public final int MANAGER_ROLE = 3;
	/**
	 * 分包单位
	 */
	public final int SPGEUNIT_ROLE = 5;
	/**
	 * 材料供应商角色
	 */
	public final int MATERIAL_SUPPLIER_ROLE = 6; 
	/**
	 * 设备供应商角色
	 */
	public final int EQUIPMENT_SUPPLIER_ROLE = 7;
	/**
	 * 设施供应商角色
	 */
	public final int FACILITY_SUPPLIER_ROLE = 8;
	/**
	 * 业务类型(1:表示供应商与项目的关系，2：表示分包单位与供应商的关系)
	 */
	public final int SUPPLIER_TO_PROJECT = 1;
	public final int SUPPLIER_TO_AFFILIATEDUNITS = 2;
	
	/**
	 * 支付状态:待支付
	 */
	public final int WAITPAY_STATUS = 0;
	/**
	 * 支付状态:已支付
	 */
	public final int PAID_STATUS = 1;
	/**
	 * 支付状态:交易关闭
	 */
	public final int DEALCLOSE_STATUS = 2;

	/*
		店铺类型 1材料2设施3设备
	 */
	public final int MATERIAL_SHOPS = 1;
	public final int FACILITIES_SHOPS = 2;
	public final int EQUIPMENT_SHOPS = 3;
	
	public final String PAYFORSALARY = "转账-支付工资";

	public final String PAYFORCOMMON = "转账-普通转账";
	
	
	public final String MSG_UPDATE_TRADEfLOW_ERROR="修改交易子流水单失败";
	
	public final String MSG_CREATE_TRADEfLOW_ERROR="新增交易子流水单失败";

	public final String MSG_CREATE_TRADEfLOWSUBTRADESN_ERROR="新增交易子流水订单号失败";

	/**
	 * 图片阿里去缩放长80,宽80
	 */
	public final String RESIZE_HEAD_URL = "?x-oss-process=image/resize,w_80,h_80";
	/**
	 * 项目承包人的劳务授权书类型
	 */
	public final int CONTRACTORAUTHORIZATION = 1;
	/**
	 * 承建单位的劳务授权书类型
	 */
	public final int CONSTRUCTAUTHORIZATION = 2;
	/**
	 * 分包班组承包人的劳务授权书类型
	 */
	public final int TEAMAUTHORIZATION = 3;
	/**
	 * 分包单位合同书类型
	 */
	public final int AFFILIATEDUNITSAUTHORIZATION = 4;
	/**
	 * 项目合作商家供货合同
	 */
	public final int PROJECTSUPPLYCONTRACT = 5;
	/**
	 * 班组合作商家供货合同
	 */
	public final int TEAMSUPPLYCONTRACT = 6;


	/**
	 * 操作员密码错误保存redis中的key
	 *
	 */
	public final long TIME_DIFF= 24 * 60 * 60;//操作密码错误，期限24小时内允许出错3次
	public final int TOTAL_ERROR_NUM= 3;//操作密码错误，允许错误次数
	public final String OPERATORPWD_ERROR_ACCOUNT_ADD ="operatorpwd_error_account_add";//新增账号
	public final String INDIVIDUAL_ADD_FROZEN ="operatorpwd_error_individual_add_frozen"; //个人增加页面，冻结
	public final String INDIVIDUAL_ADD_ACTIVATION ="operatorpwd_error_individual_add_activation";//个人增加页面（激活
	public final String INDIVIDUAL_ADD_EMPTYPW ="operatorpwd_error_individual_add_empty_pw";//个人增加页面（清空支付密码
	public final String INDIVIDUAL_FIND_FROZEN="operatorpwd_error_individual_find_frozen"; //个人查看页面，冻结
	public final String INDIVIDUAL_FIND_ACTIVATION="operatorpwd_error_individual_find_activation";//个人查看页面，激活
	public final String INDIVIDUAL_FIND_EMPTYPW="operatorpwd_error_individual_find_emptypw";//个人查看页面，清空支付密码
	public final String INDIVIDUAL_FIND_CHECKBANKCARD="operatorpwd_error_individual_find_checkbankcard";//个人查看页面，验证银行卡
	public final String INDIVIDUAL_FIND_DELBANKCARD="operatorpwd_error_individual_find_delbankcard";//个人查看页面，删除银行卡
	public final String COMPANY_ADD_FROZEN="operatorpwd_error_company_add_frozen";//公司增加页面，冻结
	public final String COMPANY_ADD_ACTIVATION="operatorpwd_error_company_add_activation";//公司增加页面（激活
	public final String COMPANY_ADD_EMPTYPW="operatorpwd_error_company_add_emptypw";//公司增加页面（清空支付密码
	public final String COMPANY_FIND_FROZEN="operatorpwd_error_company_find_frozen";//公司查看页面，冻结
	public final String COMPANY_FIND_ACTIVATION="operatorpwd_error_company_find_activation";//公司查看页面，激活
	public final String COMPANY_FIND_EMPTYPW="operatorpwd_error_company_find_emptypw";//公司查看页面，清空支付密码
	public final String COMPANY_FIND_CHECKBANKCARD="operatorpwd_error_company_find_checkbankcard";//公司查看页面，验证银行卡
	public final String COMPANY_FIND_DELBANKCARD="operatorpwd_error_company_find_delbankcard";//公司查看页面，删除银行卡
	public final String TEAM_MATERIAL="operatorpwd_error_team_material";//班组材料
	public final String TEAM_EQUIPMENT="operatorpwd_error_team_equipment";//班组设备
	public final String TEAM_FACILITIES="operatorpwd_error_team_facilities";//班组设施
	public final String PROJECT_MATERIAL="operatorpwd_error_project_material";//项目材料
	public final String PROJECT_EQUIPMENT="operatorpwd_error_project_equipment";//项目设备
	public final String PROJECT_FACILITIES ="operatorpwd_error_project_facilities";//项目设施
	
	/**
	 * 1:项目类型图片
	 */
	public final int PROJECT_TYPE_PIC = 1;
	/**
	 * 2:班组类型图片
	 */
	public final int TEAM_TYPE_PIC = 2;
	/**
	 * 3:合作商家类型图片
	 */
	public final int COOPERATE_TYPE_PIC = 3;
	/**
	 * 1:项目工程总价日志类型
	 */
	public final int PROJECT_TYPE_LOG = 1;
	/**
	 * 2:班组分包总价日志类型
	 */
	public final int TEAM_TYPE_LOG = 2;
	
	/**
	 * 考勤-部门员工数
	 * 默认值
	 */
	public final int ATTENDANCE_DEPARTMENT_NUM = 0;
	
}